package com.jichangxiu.server.platform.entity.map;

import com.jichangxiu.server.platform.entity.dto.PlatformTenantQueryDto;
import com.jichangxiu.server.platform.entity.po.PlatformTenant;
import com.jichangxiu.server.platform.entity.vo.PlatformTenantAddVo;
import com.jichangxiu.server.platform.entity.vo.PlatformTenantEditVo;
import com.jichangxiu.server.platform.entity.vo.PlatformTenantQueryVo;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * PlatformTenantBasic:
 *
 * @author Jcx
 * @create 2023-03-19 8:41
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface PlatformTenantBasic {

    public PlatformTenantBasic INSTANCE = Mappers.getMapper(PlatformTenantBasic.class);

    /**
     * 转换 PlatformTenant
     *
     * @param platformTenantAddVo 视图对象
     * @return 数据库对象
     */
    public PlatformTenant toPlatformTenant(PlatformTenantAddVo platformTenantAddVo);

    /**
     * 转换 PlatformTenant
     *
     * @param platformTenantEditVo 视图对象
     * @return 数据库对象
     */
    public PlatformTenant toPlatformTenant(PlatformTenantEditVo platformTenantEditVo);

    /**
     * 转换 PlatformTenant
     *
     * @param platformTenantQueryVo 视图对象
     * @return 数据库对象
     */
    public PlatformTenant toPlatformTenant(PlatformTenantQueryVo platformTenantQueryVo);

    /**
     * 转换 PlatformTenant
     *
     * @param platformTenantQueryDto 数据传输对象
     * @return 数据库对象
     */
    public PlatformTenant toPlatformTenant(PlatformTenantQueryDto platformTenantQueryDto);

    /**
     * 转换 PlatformTenantQueryDto
     *
     * @param platformTenant 数据库对象
     * @return 数据传输对象
     */
    public PlatformTenantQueryDto toPlatformTenantQueryDto(PlatformTenant platformTenant);

    /**
     * 转换 PlatformTenantQueryDto 列表
     *
     * @param platformTenantList 数据库对象 列表
     * @return 数据传输对象 列表
     */
    public List<PlatformTenantQueryDto> toPlatformTenantQueryDtoList(List<PlatformTenant> platformTenantList);

}
